/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sessions;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import javax.ejb.Stateless;
import javax.naming.NamingException;
import javax.servlet.ServletContext;
import persistencia.Mensaje;
import persistencia.Usuario;

/**
 *
 * @author MALLO-M
 */
@Stateless
public class ListaMensajesBean implements ListaMensajesBeanRemote, ListaMensajesBeanLocal {

    private static ServletContext sc;
    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    @Override
    public ArrayList getMensajes(Usuario usuario) {
        try {
            PersistenciaBean pb = new PersistenciaBean();
            return pb.getMensajes(usuario);
        } catch (Exception e) {

            System.out.println(e.getMessage());
            return null;
        }
    }

    @Override
    public boolean responderMensajes(Mensaje mensaje) {
        try {
            System.out.println("En listaMensajesBean");
            PersistenciaBean pb = new PersistenciaBean();
            System.out.println("Despues de PersistenciaBean listaMensajesBean");
            return pb.enviarMensaje(mensaje);
        } catch (Exception e) {
            e.getStackTrace();
            return false;
        }
    }

    @Override
    
    public boolean enviarNuevoMensaje(String asunto, String contenido, int idDestino, Usuario usuario, ArrayList usuarios) {
        try {
            System.err.println("ListaMensajesBean1");
            Mensaje mensaje = new Mensaje();
            mensaje.setNombre(asunto);
            mensaje.setContenido(contenido);
            System.err.println("ListaMensajesBean11");
            mensaje.setIdOrigen(usuario.getId());
            System.err.println("ListaMensajesBean12");
            mensaje.setNombreOrigen(usuario.getNombre());
            System.err.println("ListaMensajesBean13");
            mensaje.setIdDestino(idDestino);
            System.err.println("ListaMensajesBean14 --> enviarNuevoMensaje --> " + idDestino );
            Iterator iterador = usuarios.listIterator();
            System.err.println("ListaMensajesBean15");
            Usuario usuarioDestino=null;
            System.err.println("ListaMensajesBean2");
            while (iterador.hasNext()) {
                usuarioDestino = (Usuario) iterador.next();
                if (usuarioDestino.getId() == idDestino){
                    System.err.println("ListaMensajesBean3 --> " + usuarioDestino.getNombre());
                    break;
                }
                System.err.println("ListaMensajesBean3 --> no sale");
            }
            System.err.println("ListaMensajesBean3 --> " + usuarioDestino.getNombre());
            mensaje.setNombreDestino(usuarioDestino.getNombre());
            java.util.Date today =
                    new java.util.Date();
            java.sql.Date sqlToday =
                    new java.sql.Date(today.getTime());
            mensaje.setFecha(sqlToday);
            PersistenciaBean pb=new PersistenciaBean();
            System.err.println("ListaMensajesBean4");
            return pb.enviarMensaje(mensaje);
            
        } catch (Exception e) {
            e.getStackTrace();
            return false;
        }

    }

    
}
